#ifndef PROTOCOL_PARSER_H_
#define PROTOCOL_PARSER_H_

#include "protocol_center.h"

#include <cstdint>
#include <string>

class ProtocolParser
{
public:
    struct ProtocolData
    {
        std::string              m_host;
        uint16_t                 m_port;
        std::string              m_uri;
        ProtocolCenter::Protocol m_protocol;
    };

public:
    static ProtocolData ParserUrl(const std::string & url);
    static std::string  GetUrl(ProtocolData & protocol_data, const std::string & uri);
private:
    static int Parser(const std::string & url, ProtocolData & data);
};

#endif
